1. Field of the Invention
The present invention relates generally to the fields of operating systems and their graphic user interfaces, application software, display of item lists, and the selection of items from such lists using a least possible physical effort.
2. Description of the Background Art
Typically a list box is a rectangular graphic containing an arbitrary, vertical list of items displayed one item per line from which one or more desired items can be selected using either mouse or cursor control manipulation. List boxes are commonly integrated into the Graphic User Interface (GUI) of current operating system for use in making selections from such data sets as Font names, scaling sizes, file names, etc. Combo boxes combine a list box with an edit box to enable the user to update the item list. List/Combo Boxes evolved from research conducted by Xerox during the late 1970's, adapted to the Apple Lisa and the X-Windows system in the 1980's, and subsequently influenced the design of Microsoft Windows in the early 1990's. While manuals of style detail how to format list/combo boxes, a search of the professional literature and review of commercial products concludes that scant research has been published and there has been only modest design changes since their original commercial introduction. This invention alters this picture since the very different list display and the resultant management capabilities made available by this invention enables the user to display and select one or more items from a list with considerably less physical effort than is required using techniques presently employed.
Richard Simon, (Windows 95 WIN 32 Programming API Bible, 1996, p. 26) suggests that a list/combo box control should display between 3 and 8 items. With lists of this size the user action required to make a selection is either to traverse the mouse to the desired item and left clicking or to stroke the ".dwnarw." and ".Arrow-up bold." cursor control keys to illuminate the desired item and stroke the "Enter" key. For lists exceeding approximately eight items, the current art generally offers a scrolling capability and some manifestation of "Page-Up" and "Page-Down" function keys. A traditional scrollbar, located at the side of the display rectangle, provides a thumb and possibly "Up" and "Down" scroll buttons commonly positioned at the top and bottom of the scollbar. Once the cursor is in the scrollbar any of three options are available to alter the items displayed. A left click within the scrollbar body scrolls the display to the same relative location in the list as the click was in the scollbar. An alternate scroll technique is to drag the thumb until the desired item becomes visible. Less rapid but more visually comprehensible scrolling is achieved via the scroll buttons. A single click on either of these buttons scrolls the list a given number of items--usually 1 to 3--in the indicated direction. A press performed on either scroll button initiates continuous scrolling until the button is released. When the desired item is displayed on the computer screen it is selected by traversing the mouse to highlight the desired item followed by a left click. Inclusive selection of contiguous items between the currently illuminated and the previously selected item is generally accomplished by a "Shift+Left-Click" operation. Multiple items at arbitrary locations can generally be selected via successive illumination of desired items and performing a "Ctrl+Left-Click" operation on each item desired.
The current art of the scrollbar contains several sub-optimum design features. Use of the scrollbar requires an initial traverse of a distance that typically exceeds half the width of the display rectangle. Many users find the time between a click on the scrollbar and completion of the scroll excessive and opt instead to employ the thumb drag technique. Some applications--Microsoft Windows Explorer and Visio being examples--display the thumb with a height proportionate to the number of items in the list. When the list is long this design can result in a thumb that presents a very narrow target when approached from the side. Acquiring such a target entails a notably more physical effort than is required to acquire a thumb having height at least equal the thumb width. Once the thumb is acquired, a thumb drag over a long item list can result in a scrolling speed that exceeds the capacity of some users to interpret the items scrolled. An additional disadvantage of the thumb common to long item lists is that to display a desired item the user must drop the thumb within a range of a few pixels. Many users find achieving such precision excessively time consuming and instead employ the thumb drag technique to reach the neighborhood of the desired item and then adopt an alternate technique that demands less muscular control to display the actual item desired. Thus, after acquiring the thumb the user performs a bothersome homing to either acquire a scroll button or the "Page-up" or "Page-Down" keys to perform the final display. To display the top-most or bottom-most item of a list via the scrollbar requires clicking the mouse in the top-most or bottom-most portion of the scrollbar. Targeting these locations, especially when dimensions are not delimited, can be shown more difficult than targeting the top or bottom of the list via the thumb.
Most application systems permit the user to select a desired item via keyboard manipulation. Lack of standard assignments exist among major software vendors regarding the functions assigned the "Page-Up," "Page-Down," Home," and "End" keys. It can be generally assumed that these keys, perhaps in simultaneous stroke with either the "Ctrl" or "Shift," permit the user to illuminate either the first and last of the items currently on display or the top-most and bottom-most portions of the list. Once the desired item is displayed on the screen, manipulation via the "Up-Arrow;" (.Arrow-up bold.) and "Down-Arrow," (.dwnarw.) keys is performed to change the item highlighted. The generally accepted standard is that a stroke of the ".Arrow-up bold." or ".dwnarw." key illuminates, respectively, the item preceding or following the item that currently hosts the cursor. If a "t" stroke illuminates the top-most item, an additional ".Arrow-up bold." stroke wraps to highlight the bottom-most item of the list. The obverse holds for ".dwnarw." stroke. Once the desired item is highlighted a stroke of the "Enter" key affects selection.
The principle weakness of item selection via keyboard manipulation is that the display of a desired item far removed from the currently displayed page but not near the list's top or bottom can take unacceptable time. When the item list is part of the application software's display rather than the operating system's GUI, some applications provide a "Go To . . . " menu option which displays a dialog box requesting the page number of the page to be displayed. Although the "Go To . . . " technique can be repeated if the desired item is not displayed users will commonly employ "Page-Up" and "Page-Down" to reach the desired display when the item sought is felt to be close. The "Go To . . . " technique is inappropriate unless the user has accurate knowledge of where the desired item is located in the list and the list length. Additionally, the two stage requirement of the "Go To . . . " technique embodies notable overhead. To use this technique the user must either traverse to the menu or execute an accelerator key sequence such as "Alt"+"E".fwdarw."G." Once the dialog box is displayed the user must either key a number or use the mouse to select an item from a list of identifying numbers. Another available technique is to execute multiple strokes of an appropriate key or activate the automated repeat capability from press of that key. Ideally, this leads to sequential display of all items between the current display and the desired display. Commonly, however, the user will either under or over shoot the desired display and must spend additional time to make a correction. It is known that performing these activities can engender a feeling of wasted time in the user.
The present invention enables the user to select one or more items from a list with a level of physical effort that can be quantitatively and objectively shown by my U.S. Pat. No. 5,880,723 patent to be generally less than with currently available techniques. In part the present invention derives from, but notably alters, the application of my U.S. Pat. No. 5,596,699 patent that deals exclusively with the efficient manipulation of menu systems and the handling of the multiple levels of sub-options required by such menu systems. It will be shown that the Linear-Viewing/Radial Selecting Item Box introduces six concepts not found in the current art:
(1) It dynamically determines that number of pages required to display a list in a manner f that minimizes the physical effort expended to display a desired page, PA0 (2) Given the number of pages it dynamically determines that number of items displayed per page in a manner to minimize the physical effort expended to select an item from a displayed page; PA0 (3) It generates a compact central control area comprised of sub-areas that provide page display functions that permit display of a desired page in a manner that minimizes the physical effort expended, PA0 (4) It dynamically generates a central control area comprising only those display functions that permit display of a desired page in a manner that minimizes the physical effort expended, PA0 (5) For long item lists paired scrollbars centrally positioned within the display obviate the need for the initial long traverse needed to access the traditional scrollbar, PA0 (6) Keyboard management of item selection is performed in a manner to permit display of any desired page and make selections from lists in a manner that minimizes the physical effort expended,
The Number and Size of List Pages: A page is defined as the number of items the display graphic can present at one time. In this invention the number of pages is the rounded-up quotient of the list length divided by the number of items per page. The screen real estate available to display a page and thus the number of items per page depends on which of two different aspects of a computer session is being engaged. To employ Microsoft terminology, "user space" is defined as those areas of the screen devoted to manipulation of data of direct interest to the user and generally contain such data as client name lists, inventory items, dates, etc. "Non-user space" is screen real estate devoted to controls displayed by the GUI to provide the user with control of the operating system and generally contains such objects as menus, toolbars, status bars, minimize buttons, list/combo boxes, etc.
When an item box is in non-user space, it is designed to not consume extensive screen real estate and thus not interfere with the user's focus on the screen area of current interest. As noted, Richard Simon, whose concern is with non-user space lists, suggests that a list/combo box should display between 3 and 8 items. To display the same number of items this invention employs a display half as high and somewhat more than twice the width of traditional item boxes. This invention displays items in two vertical columns rather than in a single column as with traditional item boxes while permitting item selection with less average effort than with the traditional item box. Thus, if the extra width can be managed without interfering with the area of the screen of user interest, application of Simon's standard permits this invention to make available a display of between 6 and 16 items. Unpublished research by the inventor shows that persons using this invention find up to 18 items per display the upper limit for a display. This invention and the Simon Rule are thus in accord, but in expanded form.
User space for display of item lists in an application program can commonly be extended over the height of the screen to permit simultaneous display of 20 to 30 items. Provided the length of one item does not exceed approximately one-third the width of the user space available for list display, this invention can effectively display 40-60 items per page. When 16 or more items are displayed per side, the angle subtended by each region at the display center discourages item acquisition by a click in the non-rectangular portion of the target area thus disallowing maximum benefits of the design. However, for this case, the user traverses to the rectangular portion of the desired region and clicks. When the click occurs in the portion of the rectangular region closest to the display center, my patent U.S. Pat. No. 5,880,723 shows that the increase in physical effort over clicking within the non-rectangular area is minimal.
Efficient Page Display
The central area comprises from 2 to 9 "function-areas" that are conceptually independent areas shaped such that the aggregation of their various shapes form a set of functions that is generally circular, visually pleasing, and efficient to use. While the generally circular shape is generally adventageous to utilization of this invention, this shape is not a requirement for utilization of this invention and any shape of aggregative function-areas positioned within the shell in a manner to reduce the physical effort of item selection is subsumed by this invention. The invention configures the central area in a manner dependent on the number of pages required to display the item list. Consider item lists of either two or three-pages. For lists of this length the invention provides the "Up" and "Down" function-areas and jumps the cursor at activation to slightly above or below the center line as stipulated during system development. If the initial page chosen for display is Page 1 and the cursor is pre-positioned over the "Down" function-area, a click on "Down" will display Page 2. A second click will display Page 3 if the list comprises three pages or Page 1 with a two page list because of wrap capabilities. Alternatively, if it is opted to initially display the median page, Page 2 will be displayed. A click on "Down" will display Page 3 (or Page 1 with a two page list). A second click on "Down" will display Page 1 due to wrap. Equivalent results are obtained when the cursor is pre-positioned over "Up." Thus, assuming 14 items per page, this invention permits display of the page containing a desired item from among a set of 42 with at most two clicks. There will follow a single traverse--depending on the central area radius--of at most 0.75 inches terminated by a click to illuminate and select the desired item.
When the list requires either four or five pages for its display the invention generates a central area that incorporates the functions "Top" and "Bottom" in addition to "Up" and "Down." If the user opts to initially display the median page, Page 3 is displayed at system activation. Pages 4 and 5 can be displayed with one click and two clicks respectively without requiring a cursor traverse. After a traverse of approximately 0.25 inches into the "Up" function-area one click displays page 2 or an equivalent traverse to "Top" and one click displays Page 1. Thus, if fourteen items are displayed per page, display of any page from a list of 70 items requires at most a single traverse of about 0.25 inch to display the desired item followed by a double click. Similar activity is required if the initial page displayed is Page 1. In this case, Pages 2 and 3 require a single and double click respectively for their display. Display of Page 4 requires a traverse into the "Up" function-area followed by a single click. Display of Page 5 entails a similar traverse into "Down" and a single click. These results are equivalent to those obtained when the median page is initially displayed.
The preceding examples have presumed central areas containing the "Up" and "Down" page changing functions apply to lists of 2 or 3 pages and the "Top" and "Down" functions are added for 4 or 5 page lists. An alternate possibility would initially display the median page with the "Up" and "Down" functions for lists of 2 to 5 pages and add the "Top" and "Bottom" functions when the lists require 6 or 7 pages. After applying the same cursor manipulation logic as employed above, it is seen that with fourteen items per page display of any desired item from a list of up to 98 items requires at most one 0.25 inch traverse followed by a double click.
For an ordered list requiring many pages for its display, the invention generates an oblate central area and adds the Binary-Up, "BU" and Binary-Down, "BD" function-areas to the previous four paging functions. These functions enable the user to perform a binary search for a desired page. When the invention is initialized, a "top boundary" is set to 1 and a "bottom boundary" set to the number of pages required for the list display. Whenever "BU" is clicked the bottom boundary is set to one less than the page currently displayed and the median page between top boundary and bottom boundary is displayed. When "BD" is clicked the top boundary is set to one more than the page currently displayed and the median page between the two bounding variables is displayed. Appropriate use of the "BU" and "BD" functions can display a desired page from a very long list with a small number of function activations. As example, if 14-item pages are employed, 128 pages are required to display a list containing 1792 items. The maximum number of "BU" and "BD" functions required to display any page of this list is log.sub.2 (128)=7. Based on likely use of the "Up" and "Down" functions once the page being displayed is close to the desired page, the actual number of function activations will generally be less than this maximum.
When a list requires many pages for its display the invention generates dual scrollbars positioned as exemplified by 1C46 of FIG. 1A. These scrollbars are identical and when the thumb of one is moved, the thumb of the other is moved in identical fashion by processes of the invention. Depending on exigencies of a particular application, the scrollbar body may visibly display "page blocks" that, at the developer's choice, may be numbered to further communicate precise information identifying each page. This centered, dual design provides two effort saving benefits not found in the current art. First, the centrality of the location enables the user to avoid the longer traverse to the edge of the display as is typically required. Second, given the pre-positioning of the cursor when the item box is initially displayed, the user need never traverse a distance exceeding the sum of the central area radius plus half a scollbar length.
While the example of 1A22 may appear to suggest that dual scrollbars appear in the same displays that utilize the "BU" and "BD" function-areas, the invention does not presuppose that binary search functions and dual scrollbars must be utilized jointly. Either capability is presumed available for use as here disclosed whenever warranted by the exigencies of a computer environment.
The invention always provides an enabled "Return" to allow the user declare item selection complete when a multi-selection list is managed. With single selection lists the "Return" is still present but disabled unless explicitly parameterized otherwise. In common with the invention's goal of minimizing the physical effort of item selection, the "Return" area can be activated by a traverse of perhaps 0.5 inches followed by a click. When a multi-selection list is being managed, an "Undo" capability is provided. In the case where there has been prior user activity, "Undo" permits returning the system to the state that existed prior to the current user activity. The invention also provides an "Exit" function-area to enable the user to abort the activation and return the system to the state that existed when list selection was activated. The "Exit" capability is valuable to cancel list changes made by editing activity.
Efficient Item Selection Via the Mouse
The proceeding shows that while the number of items displayed per page depends on whether the invention is to assist the operating system or an application system, each use presents a maximum number of items per page. Exigencies of a particular application will indicate the size of said maximums.
Irrespective of the maximum number of items permitted per display, this value divided into the number of items in the list and rounded up to give the number of pages required to display the complete list. However, it is likely that the last page is only partially filled. The presence of unutilized regions on the last page permits optimization by decreasing the number of regions per page until the last page is maximally filled. By reducing the number of items displayed per page, the common apex of the triangular portion of each region is increased thus lowering the physical effort of acquiring an item.
Efficient Item Selection via the Cursor Control Key Pad
This invention provides for page display and item selection via keyboard control. Although any scheme of keyboard activity that alters the cursor location in the invention's display is subsumed by the invention, there exists a preferred implementation appropriate for most applications. In one aspect, the invention's use of the ".Arrow-up bold." and ".dwnarw." keys is similar to the current art in that strokes of the ".Arrow-up bold." and ".dwnarw." keys move the cursor one item up and one item down respectively. In another aspect of the invention, the invention's use of the ".Arrow-up bold." and ".dwnarw." differs from the current art in that any wrap that occurs is on the column hosting the cursor. As example, if the cursor is in item region 7 of a 12-item page, a stroke of ".Arrow-up bold." wraps the cursor to item region 12 rather than moving it to item region 6 as with the current art. The current art generally does not utilize the ".fwdarw." or ".rarw." keys to move the cursor within an item list. In a manner compatible with user expectations (see: Deborah Mayhew, Principles and Guidelines in Software User Design, 1992, pp. 289-296) this invention employs the ".fwdarw." or ".rarw." keys to jump the cursor to the same relative region in the opposite column of the display. When the designated opposite item region is inactive, the cursor jump is to the bottom active item region of the opposite column of the display. If the right column does not contain an active item, strokes of the ".fwdarw." or ".rarw." keys are ignored.
To illustrate the efficiency of item selection with cursor control keys, consider, as shown below, that transfer from the central area into a 16-region shell can be performed in a manner locate the cursor on Region 1, 5, 10, or 14. It can be expected that with a 16-item page 4/16=25% of items desired will be appropriately illuminated upon entering the shell from the central area. From Region 1, Region 2 is attained by a ".dwnarw.," Region 7 by a ".Arrow-up bold.," and Region 8 by a ".fwdarw.." From Region 5, Region 4 is attained by a ".Arrow-up bold.," Region 6 by a ".dwnarw.," and Region 12 by a ".fwdarw.." From Region 10, Region 9 is attained by a ".Arrow-up bold.," Region 11 by a ".dwnarw.," and Region 3 by a ".rarw.." From Region 14, Region 15 is attained by a ".dwnarw.," Region 13 by a ".Arrow-up bold." and Region 7 by a ".rarw.." Thus, with skilled employment of the cursor control keys illumination of any region in shells of size 4 through 16 requires no more than one key stroke.
The same cursor movement paradigm applies when the cursor is manipulated within the central area. To illustrate the cursor control assignments--see FIG. 1D for specifics--presume the cursor is over "Down" of the central area detailed by 1B80 of FIG. 1B. For this central area configuration a ".Arrow-up bold." or ".dwnarw." moves the cursor to "Up" or "Exit" respectively. If, instead, either the ".fwdarw." or ".rarw." is stroked the cursor moves to "BD" or "Bottom" respectively. FIG. 8J shows a similar pattern is followed for any central area configuration. From this, it is apparent that if the cursor is positioned within a function-area--as it is at activation of the display--illuminating any page changing function-area of any central area configuration will never require more than two key strokes.
After central area manipulation displays the desired page, the user performs a simultaneous "CRLT" plus a cursor control stroke. The cursor control key stroked determines which region becomes the cursor's host; namely: "Ctrl+.Arrow-up bold.", "Ctrl+.dwnarw.", "Ctrl+.rarw.", and "Ctrl+.fwdarw." moves the cursor to the regions specified in the above example. With multi-selection lists, the central area is re-accessed by a "Ctrl" plus a cursor control stroke. The cursor control key stroked determines which central area function becomes the cursor's host with "Ctrl+.Arrow-up bold.", "Ctrl+.dwnarw.", "Ctrl+.fwdarw.", and "Ctrl+.rarw." moving the cursor to "Return", "Exit", "Up", and "Down" respectively. These assignments permit selection of any function-area with at most one additional cursor control stroke.
It is subjectively apparent that this invention enables a user to perform item selection from arbitrarily long lists with notably shorter mouse traverses or fewer keystrokes than is required by the current art. My patent U.S. Pat. No. 5,880,725 can objectively and quantitatively verify that this perception is valid.